package com.xian.d10_extends_constructor;

/**
 子类初始化之前，一定要调用父类构造器先完成父类数据空间的初始化。
 子类构造器的第一行语句默认都是:super()，不写也存在。

 */
public class Test {
    public static void main(String[] args) {
        //目标:认识继承后子类构造器的特点
        //特点:子类的全部构造器默认会先访问父类的无参数构造器再执行自己
        Dog dog = new Dog();
        System.out.println(dog);
        /**
         * 输出结果:
         * 父类无参构造器
         * 子类无参构造器
         * com.xian.d10_extends_constructor.Dog@1b6d3586
         */
        Dog dog2 = new Dog("金毛");
        System.out.println(dog2);
        /**
         * 输出结果:
         * 父类无参构造器
         * 子类有参构造器
         * com.xian.d10_extends_constructor.Dog@4554617c
         */

    }
}
